<< Data types Usage and conventions Cookbook >>

CelestLab >> - Introduction - > Usage and conventions > Flight dynamics conventions

Flight dynamics conventions

Flight dynamics conventions

Frames

A frame in CelestLab is defined by 3 axes perpendicular to each-other. The center of the frame (that is to say the origin) is not part of the definition.

For instance one may define a frame centered on Mars with axes parallel to those of GCRS.

Even "ECI", despite what the acronym might lead to believe, is not necessarily Earth-centered.

See Reference frames or Local Frames for more details.

Frame transformation matrices

The frame transformation matrix from a frame "Framei" to a frame "Framef" is defined as the matrix transforming vector coordinates relative to "Framei" to coordinates relative to "Framef":

For example, let Framef be the image of Framei by the rotation of angle θ and axis X. The frame transformation matrix from Framei to Framef is defined by:

Note:

The rotation matrix that transforms the basis vectors of Framei into the basis vectors of Framef is the transpose (or inverse) of the frame transformation matrix from Framei to Framef.

Jacobian matrices

The Jacobian matrix for a function y = f(x) is such that: dy = J * dx (where J is a function of x).

If x is a vector of size Nx1 (N rows) and y is a vector of size Px1 (P rows), then J is a matrix of size PxN (as many rows as in y and as many columns as in x).

If x and y are "vectorized", x and y are matrices and J is a hypermatrix. Let the size of x be NxQ and the size of y be PxQ, then the size of J is PxNxQ. The element J(i,j,k) represents dy(i,k)/dx(j,k)

Example: Transformation of orbital elements ("kep" to "cir"):

[cir, J] = CL_oe_kep2cir(kep);

The increment on the "circular" elements dcir can be computed by: dcir = J * dkep and for instance J(3,2,k)corresponds to d(ey)/d(ecc) for the kth set of orbital elements (aka kep(:,k)).

Quaternions

Let R be the rotation of angle θ and axis a. The image of a vector by the rotation is obtained using the "corkscrew rule" around the axis a.

The quaternion associated with the rotation R in frame F is defined by:

q = [cos(θ/2) ; sin(θ/2) * ax ; sin(θ/2) * ay ; sin(θ/2) * az]

where (ax, ay, az) are the components of the rotation axis in frame F.

Notes:

Offsets between time scales

The convention used is the following:

Let's assume that t1 represents the time of some event relative to time scale 1, and t2 represents the time of the same event relative to time scale 2. Then the notation t1_t2 simply represents t1 minus t2.

Examples:

Units (of physical quantities)

The units used in CelestLab are the USI units: metre, second, kilogramme, radian ...

The units of function arguments should be USI units if some of the default arguments (which have units) are used. For instance:

kep = CL_oe_car2kep(pos,vel);

implies that pos be given in m and vel in m/s, because the implicit value of the gravitational constant is in m^3/s^2.

But it is (generally) possible to use function with arguments in other units than USI, provided the units are consistent. The only condition is that the function does not use internal data with USI units. A note in the function documentation should in principle tell the user that internal data are used, which enforces the use of USI units.

Glossary

Here are some Flight dynamics terms and acronyms used in CelestLab:
NameDescription
ECI/ECF Names of the reference frames, respectively nearly inertial and tied to Earth commonly used for Earth orbit studies
TREF Names of CelestLab reference time scale
Elevation Angle between from a given location between some direction and the local horizon


Report an issue
<< Data types Usage and conventions Cookbook >>